package com.ys.nms.module.business.controller.admin.ports.vo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import com.ys.nms.module.business.dal.dataobject.ports.PortsDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 端口 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PortsRespVO implements VO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12821")
    @ExcelProperty("ID")
    private Integer portId;

    @Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19544")
    @ExcelProperty("设备ID")
    private Integer deviceId;

    @Schema(description = "端口描述类型", example = "1")
    @ExcelProperty("端口描述类型")
    private String portDescrType;

    @Schema(description = "端口描述详情")
    @ExcelProperty("端口描述详情")
    private String portDescrDescr;

    @Schema(description = "端口描述电路信息")
    @ExcelProperty("端口描述电路信息")
    private String portDescrCircuit;

    @Schema(description = "端口描述速度")
    @ExcelProperty("端口描述速度")
    private String portDescrSpeed;

    @Schema(description = "端口描述备注")
    @ExcelProperty("端口描述备注")
    private String portDescrNotes;

    @Schema(description = "接口描述")
    @ExcelProperty("接口描述")
    private String ifDescr;

    @Schema(description = "网络接口名称", example = "张三")
    @ExcelProperty("网络接口名称")
    private String ifName;

    @Schema(description = "端口名称", example = "芋艿")
    @ExcelProperty("端口名称")
    private String portName;

    @Schema(description = "接口索引")
    @ExcelProperty("接口索引")
    private Long ifIndex;

    @Schema(description = "接口速度")
    @ExcelProperty("接口速度")
    private Long ifSpeed;

    @Schema(description = "上一次接口速度")
    @ExcelProperty("上一次接口速度")
    private Long ifspeedPrev;

    @Schema(description = "接口连接器是否存在")
    @ExcelProperty("接口连接器是否存在")
    private String ifConnectorPresent;

    @Schema(description = "接口操作状态", example = "1")
    @ExcelProperty("接口操作状态")
    private String ifOperStatus;

    @Schema(description = "接口上一次操作状态")
    @ExcelProperty("接口上一次操作状态")
    private String ifoperstatusPrev;

    @Schema(description = "接口管理状态", example = "2")
    @ExcelProperty("接口管理状态")
    private String ifAdminStatus;

    @Schema(description = "接口上一次管理状态")
    @ExcelProperty("接口上一次管理状态")
    private String ifadminstatusPrev;

    @Schema(description = "接口双工模式")
    @ExcelProperty("接口双工模式")
    private String ifDuplex;

    @Schema(description = "接口最大传输单元")
    @ExcelProperty("接口最大传输单元")
    private Integer ifMtu;

    @Schema(description = "接口类型", example = "1")
    @ExcelProperty("接口类型")
    private String ifType;

    @Schema(description = "接口别名")
    @ExcelProperty("接口别名")
    private String ifAlias;

    @Schema(description = "接口物理地址")
    @ExcelProperty("接口物理地址")
    private String ifPhysAddress;

    @Schema(description = "接口最后更改时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("接口最后更改时间")
    private Long ifLastChange;

    @Schema(description = "接口 VLAN 信息")
    @ExcelProperty("接口 VLAN 信息")
    private String ifVlan;

    @Schema(description = "接口链路聚合信息")
    @ExcelProperty("接口链路聚合信息")
    private String ifTrunk;

    @Schema(description = "接口虚拟路由转发信息", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("接口虚拟路由转发信息")
    private Integer ifVrf;

    @Schema(description = "是否忽略标识", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否忽略标识")
    private Integer ignore;

    @Schema(description = "是否禁用标识", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否禁用标识")
    private Integer disabled;

    @Schema(description = "PAgP 操作模式")
    @ExcelProperty("PAgP 操作模式")
    private String pagpOperationMode;

    @Schema(description = "PAgP 端口状态")
    @ExcelProperty("PAgP 端口状态")
    private String pagpPortState;

    @Schema(description = "PAgP 对端设备 ID", example = "27521")
    @ExcelProperty("PAgP 对端设备 ID")
    private String pagpPartnerDeviceId;

    @Schema(description = "PAgP 对端学习方法")
    @ExcelProperty("PAgP 对端学习方法")
    private String pagpPartnerLearnMethod;

    @Schema(description = "PAgP 对端接口索引")
    @ExcelProperty("PAgP 对端接口索引")
    private Integer pagpPartnerIfIndex;

    @Schema(description = "PAgP 对端组接口索引")
    @ExcelProperty("PAgP 对端组接口索引")
    private Integer pagpPartnerGroupIfIndex;

    @Schema(description = "PAgP 对端设备名称", example = "张三")
    @ExcelProperty("PAgP 对端设备名称")
    private String pagpPartnerDeviceName;

    @Schema(description = "PAgP 以太网通道操作模式")
    @ExcelProperty("PAgP 以太网通道操作模式")
    private String pagpEthcOperationMode;

    @Schema(description = "PAgP 设备 ID", example = "165")
    @ExcelProperty("PAgP 设备 ID")
    private String pagpDeviceId;

    @Schema(description = "PAgP 组接口索引")
    @ExcelProperty("PAgP 组接口索引")
    private Integer pagpGroupIfIndex;

    @Schema(description = "入站单播数据包数量")
    @ExcelProperty("入站单播数据包数量")
    private Long ifInUcastPkts;

    @Schema(description = "上一次入站单播数据包数量")
    @ExcelProperty("上一次入站单播数据包数量")
    private Long ifinucastpktsPrev;

    @Schema(description = "入站单播数据包数量差值")
    @ExcelProperty("入站单播数据包数量差值")
    private Long ifinucastpktsDelta;

    @Schema(description = "入站单播数据包速率")
    @ExcelProperty("入站单播数据包速率")
    private Long ifinucastpktsRate;

    @Schema(description = "出站单播数据包数量")
    @ExcelProperty("出站单播数据包数量")
    private Long ifOutUcastPkts;

    @Schema(description = "上一次出站单播数据包数量")
    @ExcelProperty("上一次出站单播数据包数量")
    private Long ifoutucastpktsPrev;

    @Schema(description = "出站单播数据包数量差值")
    @ExcelProperty("出站单播数据包数量差值")
    private Long ifoutucastpktsDelta;

    @Schema(description = "出站单播数据包速率")
    @ExcelProperty("出站单播数据包速率")
    private Long ifoutucastpktsRate;

    @Schema(description = "入站错误数据包数量")
    @ExcelProperty("入站错误数据包数量")
    private Long ifInErrors;

    @Schema(description = "上一次入站错误数据包数量")
    @ExcelProperty("上一次入站错误数据包数量")
    private Long ifinerrorsPrev;

    @Schema(description = "入站错误数据包数量差值")
    @ExcelProperty("入站错误数据包数量差值")
    private Long ifinerrorsDelta;

    @Schema(description = "入站错误数据包速率（单位：包/秒）")
    @ExcelProperty("入站错误数据包速率（单位：包/秒）")
    private Long ifinerrorsRate;

    @Schema(description = "出站错误数据包数量。")
    @ExcelProperty("出站错误数据包数量。")
    private Long ifOutErrors;

    @Schema(description = "上一次出站错误数据包数量。")
    @ExcelProperty("上一次出站错误数据包数量。")
    private Long ifouterrorsPrev;

    @Schema(description = "出站错误数据包数量差值。")
    @ExcelProperty("出站错误数据包数量差值。")
    private Long ifouterrorsDelta;

    @Schema(description = "出站错误数据包速率（单位：包/秒）。")
    @ExcelProperty("出站错误数据包速率（单位：包/秒）。")
    private Long ifouterrorsRate;

    @Schema(description = "入站字节数（流量统计）")
    @ExcelProperty("入站字节数（流量统计）")
    private Long ifInOctets;

    @Schema(description = "上一次入站字节数。")
    @ExcelProperty("上一次入站字节数。")
    private Long ifinoctetsPrev;

    @Schema(description = "入站字节数差值。")
    @ExcelProperty("入站字节数差值。")
    private Long ifinoctetsDelta;

    @Schema(description = "入站流量速率（单位：字节/秒）。")
    @ExcelProperty("入站流量速率（单位：字节/秒）。")
    private Long ifinoctetsRate;

    @Schema(description = "出站字节数。")
    @ExcelProperty("出站字节数。")
    private Long ifOutOctets;

    @Schema(description = "上一次出站字节数。")
    @ExcelProperty("上一次出站字节数。")
    private Long ifoutoctetsPrev;

    @Schema(description = "出站字节数差值。")
    @ExcelProperty("出站字节数差值。")
    private Long ifoutoctetsDelta;

    @Schema(description = "出站流量速率（单位：字节/秒）。")
    @ExcelProperty("出站流量速率（单位：字节/秒）。")
    private Long ifoutoctetsRate;

    @Schema(description = "最后一次轮询时间（时间戳）。")
    @ExcelProperty("最后一次轮询时间（时间戳）。")
    private Integer pollTime;

    @Schema(description = "上一次轮询时间。")
    @ExcelProperty("上一次轮询时间。")
    private Integer pollPrev;

    @Schema(description = "轮询间隔时间（秒）。")
    @ExcelProperty("轮询间隔时间（秒）。")
    private Integer pollPeriod;

    @Schema(description = "是否是关联链路0否1是")
    @ExcelProperty("是否是关联链路0否1是")
    private Integer isCritical;

    @Schema(description = "是否展示0否1是")
    @ExcelProperty("是否展示0否1是")
    private Integer isShow;

    @Schema(description = "实际上行带宽")
    @ExcelProperty("实际上行带宽")
    private Integer bandwidth;

    @Schema(description = "入站丢包数量")
    @ExcelProperty("入站丢包数量")
    private Long ifInLoss;

    @Schema(description = "出站丢包数量")
    @ExcelProperty("出站丢包数量")
    private Long ifOutLoss;

    @Schema(description = "接口非单播包转发数（in）")
    @ExcelProperty("接口非单播包转发数（in）")
    private Long ifInNoUnicastForward;

    @Schema(description = "接口非单播包转发数（out）")
    @ExcelProperty("接口非单播包转发数（out）")
    private Long ifOutNoUnicastForward;

    @Schema(description = "丢弃的未知协议包")
    @ExcelProperty("丢弃的未知协议包")
    private Long ifUnknownDrop;

}
